package 算法.NiuKe.TB;

import 算法.NiuKe.ListNode;

/**
 * @author:谢君臣
 * @Date:2021/5/38:42
 * @version:1.0
 * @function: 判断给定的链表中是否有环。如果有环则返回true，否则返回false。
 * 你能给出空间复杂度的解法么？
 */
public class NC3 {
    public boolean hasCycle(ListNode head) {
        if (head==null)
            return false;
        ListNode p =head,q = head;
        while (p!=null && p.next != null){
            p = p.next.next;
            q = q.next;
            if (p==q)return true;
        }
        return false;
    }
}
